import { createRouter, createWebHashHistory, createWebHistory } from 'vue-router'
import { App } from 'vue'
import createRouterGuide from './permission'
import { routes } from './routes'

const isStaging = import.meta.env.VITE_HTTP_ENV === 'STAGING'
const isProd = import.meta.env.VITE_HTTP_ENV === 'PROD'

export const router = createRouter({
  /**
   * hash模式: 路径带井号#,兼容到IE8,改变浏览器中#后的路径不会刷新页面,#导致不能使用锚点
   * web模式: 路径不带井号#,兼容到IE10,改变浏览器中路径会刷新页面,可以使用锚点(默认)
   */
  history: isProd
    ? createWebHashHistory(import.meta.env.VITE_APP_BASE_PATH)
    : createWebHistory(import.meta.env.VITE_APP_BASE_PATH),
  routes,
  scrollBehavior: () => ({ left: 0, top: 0 }),
})

export async function setupRouter(app: App) {
  app.use(router)
  createRouterGuide(router)
  await router.isReady()
}
